#!/bin/bash

# PT前端项目部署脚本

set -e

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# 配置变量
IMAGE_NAME="pt-frontend"
TAG="latest"
CONTAINER_NAME="pt-frontend"
PORT="80"

echo -e "${GREEN}开始部署PT前端项目...${NC}"

# 检查Docker是否安装
if ! command -v docker &> /dev/null; then
    echo -e "${RED}错误: Docker未安装，请先安装Docker${NC}"
    exit 1
fi

# 检查docker-compose是否安装
if ! command -v docker-compose &> /dev/null; then
    echo -e "${RED}错误: docker-compose未安装，请先安装docker-compose${NC}"
    exit 1
fi

# 停止现有容器
echo -e "${YELLOW}停止现有容器...${NC}"
docker-compose down || true

# 清理旧镜像
echo -e "${YELLOW}清理旧镜像...${NC}"
docker image prune -f

# 构建新镜像
echo -e "${YELLOW}构建Docker镜像...${NC}"
docker-compose build --no-cache

# 启动服务
echo -e "${YELLOW}启动服务...${NC}"
docker-compose up -d

# 检查服务状态
echo -e "${YELLOW}检查服务状态...${NC}"
sleep 10
if docker-compose ps | grep -q "Up"; then
    echo -e "${GREEN}✅ 部署成功！${NC}"
    echo -e "${GREEN}前端服务已在端口 ${PORT} 启动${NC}"
    echo -e "${GREEN}访问地址: http://your-server-ip:${PORT}${NC}"
else
    echo -e "${RED}❌ 部署失败，请检查日志${NC}"
    docker-compose logs
    exit 1
fi

# 显示运行中的容器
echo -e "${YELLOW}当前运行的容器:${NC}"
docker-compose ps

echo -e "${GREEN}部署完成！${NC}" 